@局外人
3年前 提问
1个回答

本地提权攻击怎么防御

房乐
3年前
官方采纳

针对本地提权攻击,最有效的安全防范方法依然是及时更新系统的补丁程序,以便在第一时间修补存在的安全漏洞。除此之外可以结合针对提权攻击的防御方法和从系统管理角度进行防御。

针对SUID特权程序,管理员首先要清楚Linux系统在默认安装时,哪些系统程序使用了SUID特权位设置,程序如果不需要就尽可能将其禁用。对于在Linux系统上运行的应用程序,管理员必须知道是否会启用SUID特权位设置,并评估可能存在的安全风险。对于安全风险大的SUID特权程序,应尽可能去除SUID特权位的设置,如果确实要使用,必须实时关注其安全状况。即使是安全风险小的SUID特权程序,管理员也要做到“清单式”管理,即对使用的SUID特权程序建立应用清单,及时安装安全补丁程序。

针对利用代码漏洞进行本地提权的问题,最根本的解决办法还是及时升级操作系统并安装补丁程序,同时辅助以必要的安全配置。例如,禁止root用户进行远程登录、对特权用户设置强口令、使用SSH对服务器进行远程管理等。

另外,针对Linux在访问控制机制中存在的本地提权漏洞,可使用SELinux安全增强模块来提高Linux抵御本地攻击的能力。早期的Linux采用自主访问控制(Discretionary Access Control,DAC)来保证系统的安全性,根据用户标识和拥有者权限来确定是否允许访问。这种机制的缺陷是忽略了用户的角色、数据的敏感性和完整性、程序的功能和可信性等安全信息,因此不能提供足够的安全性保证。而Linux在2.6内核之后集成了SELinux组件,在该组件中引入了强制访问控制(Mandatory Access Control,MAC)机制,可以有效地解决早期Linux系统中存在的一些问题。MAC根据用户操作对象(如普通文件、目录、设备、端口、被调用的进程等)所含信息的敏感性,以及用户操作(如读、写、执行等)在访问这些信息时的安全授权来限制对用户操作对象的访问。SELinux是一种通用的、灵活的、细粒度的MAC机制,为用户操作和用户操作对象定义了多种安全策略,能够最大限度地限制进程的权限,保护进程和数据的安全性、完整性和机密性,从而解决了DAC的脆弱性和传统MAC的不灵活性等问题。